package vue.eleve;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Vector;

import javax.swing.JPanel;

import metier.Eleve;
import vue.commun.JPanJTable;
import vue.commun.JPanRechercherEleve;
import ctr.eleve.GestMouseRechercherEleve;

/**
 * @author olivier.rombaut
 * Permet de rechercher un élève.
 */
public class JPanRechercherListeEleve extends JPanel{

	/**
	 * 
	 */
	private static final long serialVersionUID = -3549243915261419754L;
	private JPanJTable panJTable;
	private ArrayList<Eleve> lEleve;
	
	/**
	 * Constructeur
	 * @param jPanRechercherEleve
	 * @param lEleve
	 * @param jPanAppelant
	 */
	public JPanRechercherListeEleve(JPanRechercherEleve jPanRechercherEleve, ArrayList<Eleve> lEleve, RechercherEleve jPanAppelant){
		this.lEleve = lEleve;
		//nom des colonnes
		Vector<Object> nomColonne= new Vector<Object>(Arrays.asList(new String[] {"grade", "nom", "prenom", "date de naissance", "moyenne", "fonction"}));
		
		//valeurs des lignes
		Vector<Vector<Object>> dataVector= new Vector<Vector<Object>>();
		
		// Recuperation  des eleves.
		if ( lEleve != null && !lEleve.isEmpty()){
			for (Eleve eleve : lEleve) {
				// Creation d'un vector par eleve.
				dataVector.add(eleve.getVector());
			}
		}
		
		panJTable = new JPanJTable(null, dataVector, nomColonne, null);
		// On ajout un mouseListeener pour pouvoir cliquer sur les lignes.
		panJTable.getJtable().addMouseListener(new GestMouseRechercherEleve(this, jPanAppelant));
		this.add(panJTable);
	}
	/**
	 * @return the panJTable
	 */
	public JPanJTable getPanJTable() {
		return panJTable;
	}
	/**
	 * @return the lEleve
	 */
	public ArrayList<Eleve> getlEleve() {
		return lEleve;
	}
}
